.playlist {
    .recommend-boutique {
        position: relative;
        width: 100%;
        height: 180px;
        overflow: hidden;
        cursor: pointer;
        border-radius: 6px;

        .decorator,
        .mask {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            border-radius: 6px;
        }

        .decorator {
            background-position: 10px !important;
            -webkit-filter: blur(30px);
            filter: blur(30px);

        }

        .mask {
            background: linear-gradient(hsla(0, 0, 45%, .5), hsla(0, 0, 0, .5));
        }

        .desc {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            display: flex;
            align-items: center;
            padding: 10px 15px;
            border-radius: 6px;
            box-sizing: border-box;

            >img {
                width: 142px;
                border-radius: 6px;
            }

            .info {
                margin-left: 20px;

                .info-tag {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 100px;
                    height: 30px;
                    margin-bottom: 10px;
                    font-size: 14px;
                    color: #e6aa5a;
                    border: 1px solid #E6aa5a;
                    border-radius: 30px;

                    >i {
                        font-size: 24px;
                    }
                }

                .info-name {
                    font-size: 16px;
                    line-height: 2.5;
                    color: #fff;
                }

                .info-copyWrite {
                    font-size: 13px;
                    color: #bbb;
                }
            }
        }

    }

    .main {
        margin: 20px 0;

        .main-header {
            display: flex;
            align-items: center;
            justify-content: space-between;

            .category {
                position: relative;

                .category-btn {
                    display: flex;
                    width: 100px;
                    height: 30px;
                    align-items: center;
                    justify-content: center;
                    font-size: 14px;
                    cursor: pointer;
                    border: 1px solid #d1d2d3;
                    border-radius: 25px;
                }

                .category-list {
                    position: absolute;
                    top: 40px;
                    left: 0;
                    z-index: 2;
                    width: 780px;
                    font-size: 14px;
                    font-weight: 300;
                    background: #fff;
                    border: 1px solid #f1f2f3;
                    border-radius: 6px;
                    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);

                    .category-item {
                        display: flex;
                        align-items: flex-start;
                        padding: 0 20px;
                        margin-bottom: 20px;

                        .category-item-left {
                            flex: 0 0 120px;
                            display: flex;
                            align-items: center;
                            height: 36px;
                            margin-right: 10px;

                            >i {
                                margin-right: 5px;
                                font-size: 32px;
                                color: #888;
                            }

                            >span {
                                font-size: 13px;
                                color: #bbb;
                            }

                        }

                        .category-item-right {
                            flex: 1;
                            display: flex;
                            align-items: center;
                            flex-wrap: wrap;

                            >div {
                                flex: 0 0 100px;
                                height: 36px;
                                line-height: 36px;
                                cursor: default;

                                >span {
                                    position: relative;
                                    padding: 6px 12px;
                                    background: #fff;
                                    border-radius: 25px;

                                    &:hover {
                                        color: #ed4141;
                                    }

                                    &.active {
                                        color: #ed4141;
                                        background: #fdf5f5;
                                    }

                                    &.hot::after {
                                        position: absolute;
                                        top: -5px;
                                        right: -8px;
                                        font-size: 12px;
                                        font-weight: bold;
                                        color: #ed4141;
                                        content: 'HOT';
                                        transform: scale(0.4);
                                    }
                                }

                            }
                        }

                        &.all {
                            padding: 10px 20px;
                            border-bottom: 1px solid #eee;

                            >span {
                                padding: 8px 12px;
                                cursor: default;
                                background: #fff;
                                border-radius: 25px;

                                &:hover {
                                    color: #ed4141;
                                }

                                &.active {
                                    color: #ed4141;
                                    background: #fdf5f5;
                                }

                            }
                        }
                    }
                }
            }

            .hot-category {
                font-size: 13px;
                font-weight: 200;
                color: #666;

                .hot-category-tag {
                    padding: 2px 10px;
                    cursor: default;
                    background: #fff;
                    border-radius: 20px;

                    &.active {
                        color: #ed4141;
                        background: #fdf5f5;
                    }
                }
            }
        }

        .main-content {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            margin: 20px 0;
        }
    }
}